package br.com.rnavarro.padroes.criacao.factorymethod;

public class FabricaDeLeitores
{
	private enum TipoDeTexto
	{
		Unix,
		Windows
	}
	
	public static LeitorDeTexto getLeitorDeTexto(String texto)
	{
		TipoDeTexto tipoDeTexto = identificarTipoDeTexto(texto);
		
		switch(tipoDeTexto)
		{
			case Unix:
				return new LeitorDeTextoUnix(texto);
			case Windows:
				return new LeitorDeTextoWindows(texto);
			default:
				return new LeitorDeTextoWindows(texto);
		}
	}
	
	private static TipoDeTexto identificarTipoDeTexto(String texto)
	{
		if(texto.indexOf("\r\n") > 0)
			return TipoDeTexto.Windows;
		else
			return TipoDeTexto.Unix;
	}
}